DEF fnx1 (x, y) = .836 * x + .044 * y DEF fny1 (x, y) = -.044 * x + .836 * y + .169 DEF fnx2 (x, y) = -.141 * x + .302 * y DEF fny2 (x, y) = .302 * x + .141 * y + .127 DEF fnx3 (x, y) = .141 * x - .302 * y DEF fny3 (x, y) = .302 * x + .141 * y + .169 DEF fnx4 (x, y) = 0 DEF fny4 (x, y) = .175337 * y SCREEN 12 CLS p(1) = .4 p(2) = .6 p(3) = .8 p(4) = 1! x = .1 y = .3 count = 0 WHILE INKEY$ <> CHR$(13) PSET (10 + y * 600, 200 + x * 600) q = RND(1) k = 4 count = count + 1 LOCATE 1, 20: PRINT count; FOR i = 1 TO 3 IF q < p(i) THEN k = i: i = 4 NEXT i ON k GOSUB 10, 20, 30, 40 x = x0: y = y0 WEND dummy$ = INPUT$(1) CLS END 10 x0 = fnx1(x, y) y0 = fny1(x, y) RETURN 20 x0 = fnx2(x, y) y0 = fny2(x, y) RETURN 30 x0 = fnx3(x, y) y0 = fny3(x, y) RETURN 40 x0 = fnx4(x, y) y0 = fny4(x, y) RETURN